The present invention relates to a method for managing meta data in cache and using meta data to access customer data.
Computing systems often include one or more host computers (xe2x80x9chostsxe2x80x9d) for processing data and running application programs, direct access storage devices (DASDs) for storing data, and a storage controller for controlling the transfer of data between the hosts and the DASD. In addition to storing actual data, also known as user or customer data, the control unit often maintains meta data which provides information on tracks or blocks of data in the DASD or in a cache of the storage controller. The storage controller processes the meta data during certain operations on the actual data represented by the meta data to improve the speed and efficiency of those requested operations.
There are numerous types of meta data, such as summary information, partial-copy information, historical information, copy services information, and log structured array information. Summary information summarizes the customer data, including information on the format of a block or track of customer data, such as a count-key-data (CKD) track. In this way, information on the actual customer data that would otherwise have to be gleaned from the customer data in a time consuming process is readily available. Partial copy information contains a copy of a portion of the actual customer data to improve destage performance. Historical information records historical usage of the customer data. Historical data may be used to predict future use of the user or customer data. Copy services information contains bit maps that indicate tracks of the customer data that were modified and not yet copied to a secondary site. The log structured array (LSA) information maintains an LSA directory and related data to manage the LSA.
Typically, during initialization of the DASD, meta data is copied from the DASD to the storage controller. As the size of a meta data track and the types of meta data maintained increases, an ever increasing amount of cache storage and processing capacity is dedicated to meta data, to the exclusion of other types of data. In addition, because cache storage is volatile (data stored in cache will be lost in the event of a power loss), some conventional computing systems save meta data that has been modified in cache into separate, battery-backed-up, non-volatile storage units (NVS) for recovery purposes. Such implementations add additional costs and overhead by consuming processor and memory resources to maintain and update the meta data in NVS.
To conserve NVS capacity, some computing systems will not back-up meta data in NVS. The problem with not providing an NVS backup is that microcode errors, power loss, and other error conditions may cause some or all of the meta data stored in cache to become invalid or lost. In such case, the storage controller must rebuild the meta data from the actual data in the DASD. This process of recovering lost meta data can be time-consuming, as meta data often represents thousands of customer tracks. In conventional computing systems when modified meta data is not backed-up into NVS, lost meta data is rebuilt in a piecemeal process every time its associated customer data is staged into cache for other purposes. The need to rebuild the meta data delays the recovery of meta data and also degrades data processing operations.
There thus is a need in the art for an improved method and system for managing meta data for data recovery operations.
Preferred embodiments provide an improved method, system, and article of manufacture for processing modified meta data for data recovery operations. The meta data provides information on user data maintained in a storage device. The system determines whether meta data tracks maintained in a cache were modified and indicates in a non-volatile memory that the determined meta data tracks were modified. Data recovery operations may be initiated as a result of a system failure, such as a warmstart or coldstart recovery. During such data recovery operations, the system processes the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tracks in the cache.
In further embodiments, the system indicates in the non-volatile memory that the meta data track was modified by indicating the modified meta data track on a list of modified meta data tracks. The system then rebuilds lost meta data tracks by processing the list of modified meta data tracks to generate a rebuild list indicating meta data tracks to rebuild. The system processes the rebuild list to determine meta data tracks to rebuild and rebuilds the meta data tracks indicated on the rebuild list. The rebuilt meta data tracks are then stored in the cache.
With preferred embodiments, meta data that was previously modified but not yet backed up on the storage device, e.g., DASD, may be rebuilt by using a list maintained in the non-volatile storage unit, e.g., battery backed-up RAM, that indicates whether modified meta data was in cache when the system failed. During recovery operations, the system may readily determine from the list those meta data tracks that were modified in cache when the system failed. If, during recovery, the system cannot recover the modified meta data tracks as indicated on the list from the cache, then the system would generate a rebuild list of meta data tracks to rebuild in the cache. The meta data on the rebuild list is rebuilt from the customer data. In this way, the system need only maintain a list indicating modified meta data tracks in the non-volatile storage unit in order to restore those modified meta data tracks that were in cache when the system failed.